using System;

namespace CloudStorage.API.Messages
{
  /// <summary>
  /// The Message sent on a Cloud Storage Queue
  /// </summary>
  public interface IMessage : IMessageInfo
  {
    /// <summary>
    /// When a message is retrieved from a queue, a PopReceipt is returned. The PopReceipt is used when 
    /// deleting a message from the queue.
    /// </summary>
    string PopReceipt { get; }

    /// <summary>
    /// The point in time when a message becomes visible again after a Get() operation was called 
    /// that returned the message.
    /// </summary>
    DateTime TimeNextVisible { get; }
  }
}